import json
import requests
import os
import pygame
import re
import sys


def check_update():
    print('正在检查更新....')
    ver_get = requests.get('https://gitee.com/wrnxr233/neteasejiexi/raw/master/ver.txt')
    ver_result = json.loads(ver_get.text)
    ver = ver_result['version']
    if '1.0.1' in ver:
        print('当前为最新版本')
    else:
        print('检测到版本更新！请前往https://www.wrnxr.cn/36.html查看')


def xz():
    global c1
    c1 = input('请选择您的操作：\n1.输入分享链接进行解析\n2.输入自有id解析\n请选择：')


def pan_duan():
    if c1 == '1':
        url_jx()
    elif c1 == '2':
        global song_id
        song_id = input('请输入歌曲ID:')
    else:
        print('输入有误，请按回车键重试')
        xz()
        pan_duan()


def url_jx():
    share_url = input('请输入歌曲的分享链接：')

    def sid():
        s_id = re.findall(r'id=(.*?)&', share_url)
        return s_id

    s_id = sid()
    global song_id
    for song_id in s_id:
        print('您将要解析的歌曲id为：' + song_id)


def hello():
    print('欢迎访问https://www.wrnxr.cn,更多精品资源尽在其中！')


def song_download():
    url = r'https://music.163.com/song/media/outer/url?id='
    send_url = url + song_id + '.mp3'
    result = requests.get(send_url)
    with open(song_id + '.mp3', 'wb') as f:
        f.write(result.content)
    print('下载完成，请到当前目录查看')


def bo_fang():
    choose = input('是否立即播放该音乐？(y/N)')
    if choose == 'y':
        file = (song_id + '.mp3')
    else:
        sys.exit()
    c = input('是否使用系统自带的音乐播放器？(Y/n)')
    if 'y' or 'n' in choose and c:
        pass
    else:
        print('输入错误！按Enter重试！')
        c = input('是否使用系统自带的音乐播放器？(Y/n)')
    if 'n' in c:
        pygame.mixer.init()
        pygame.mixer.music.load(file)
        pygame.mixer.music.play()
        print('正在播放')
        input('按enter停止播放')
        pygame.mixer.music.stop()
        sys.exit()
    else:
        os.system(file)
        input('\n\n按enter退出')
        sys.exit()


if __name__ == '__main__':
    check_update()
    xz()
    pan_duan()
    hello()
    song_download()
    bo_fang()